import { config } from '../../config/index';
import { request } from '../_utils/request';

/** 获取商品列表 */
function mockFetchGoodsList(pageIndex = 1, pageSize = 20) {
  const { delay } = require('../_utils/delay');
  const { getGoodsList } = require('../../model/goods');
  return delay().then(() =>
    getGoodsList(pageIndex, pageSize).map((item) => {
      return {
        spuId: item.spuId,
        thumb: item.primaryImage,
        title: item.title,
        price: item.minSalePrice*100,
        originPrice: item.maxLinePrice*100,
        tags: item.spuTagList.map((tag) => tag.title),
      };
    }),
  );
}



/** 获取商品列表 */
// export function fetchGoodsList(pageIndex = 1, pageSize = 20) {
//   if (config.useMock) {
//     return mockFetchGoodsList(pageIndex, pageSize);
//   }
//   return new Promise((resolve) => {
//     resolve('real api');
//   });
// }

//处理数据  
const processGoodsData = (data) => {
  return data.map(item => ({
    spuId: item.spuId,
    thumb: item.primaryImage,
    title: item.title,
    price: item.minSalePrice*100,
    originPrice: item.maxLinePrice,
    desc: '',
    tags: Array.isArray(item.spuTagList) ? item.spuTagList.map((tag) => tag.title) : []
  }));
};








/** 
 * 获取商品列表 
 * @param {number} [pageIndex=1] - 页码，从1开始
 * @param {number} [pageSize=20] - 每页数量
 * @param {number} [categoryId] - 分类ID（可选）
 * @param {string} [keyword] - 搜索关键词（可选）
 */
export async function fetchGoodsList(pageIndex = 1, pageSize = 20, categoryId, keyword) {
  try {
    // 构建请求参数
    const params = {
      pageIndex: Math.max(1, pageIndex), // 确保页码最小为1
      pageSize: Math.max(1, pageSize)    // 确保每页数量最小为1
    };

    // 添加可选参数
    if (categoryId) params.categoryId = categoryId;
    if (keyword) params.keyword = keyword;

    // 发起请求获取商品数据
    const response = await request({
      url: '/Good/list',
      method: 'get',
      data: params
    });
    
    //

    return processGoodsData(response.data);
   

    
    
    

  } catch (error) {
    console.error('获取商品列表失败:', error);
    throw error;
  }
}
